package com.hoperun.product.net;

import java.util.List;

import org.json.JSONArray;
import org.json.JSONObject;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.hoperun.product.entity.ProductInputEntity;
import com.hoperun.product.entity.ProductQueryEntity;
import com.hoperun.product.entity.UserBean;
import com.hoperun.product.util.SharedPreUtil;

import android.os.Handler;

public class RequestServiceImpl {


	/**
	 * 获取新版本
	 *
	 * @param handler
	 * @param requestType
	 */
	public static void getNewVersion(Handler handler, int requestType,String appname) {

		JSONObject inputInfo = new JSONObject();
		try {
			inputInfo.put("appname", appname);

		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName = "autoUpdate";

		IServiceImpl.callWebMethod(handler, requestType, inputInfo, methodName);
	}
	/**
	 * 登录请求
	 * 
	 * @param handler
	 * @param account  员工工号
	 * @param password  密码
	 */
	public static void login(Handler handler,int requestType, String account, String password,String bmmc) {

		JSONObject inputInfo = new JSONObject();

		try {
			inputInfo.put("YHM", account);
			inputInfo.put("YHKL", password);
			inputInfo.put("BMMC", bmmc);
		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName="login" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}
	
	
	
	
	/**
	 * 获取下拉框列表
	 * @param handler
	 * @param requestType
	 * @param jsonStr
	 */
	public static void selectDict (Handler handler,int requestType,String  tableNo){
		JSONObject inputInfo = new JSONObject();

		try {
			inputInfo.put("TABLE_NO", tableNo);
		
		} catch (Exception e) {
			
		}
		String methodName="selectDict" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}
	
	
	/**
	 * 	查询该工号当前日期已经保存的数据 
	 * @param handler
	 * @param requestType
	 * @param jobNum
	 * @param jobDate
	 * 2017年 12月2 日修改   新增C_FLAG=IPAD字段
	 */
	public static void getInputList(Handler handler, int requestType,String userBean,String jobNum,String jobDate,String bmmc,String machineNo) {

		JSONObject inputInfo = new JSONObject();

		try {
			JSONObject jsonObject=new JSONObject(userBean);
			inputInfo.put("userBean", jsonObject);
			
			inputInfo.put("JOB_NUM", jobNum);
			inputInfo.put("JOBDATE", jobDate);
			inputInfo.put("BMMC", bmmc);
			inputInfo.put("MACHINENO", machineNo);
			inputInfo.put("C_FLAG", "IPAD");
		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName="wagequerydataByNoandDate" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}
	
	/**
	 * 删除(工资产量录入)
	 * @param handler
	 * @param requestType
	 * @param userBean
	 * @param PKID
	 */
	public static void deleteInputProduct(Handler handler, int requestType,String userBean	,List<String> PKIDList) {

		JSONObject inputInfo = new JSONObject();

		try {
			JSONObject jsonObject=new JSONObject(userBean);
			inputInfo.put("userBean", jsonObject);
			
			
			JSONArray jsonData=new JSONArray();
			
			for (int i = 0; i < PKIDList.size(); i++) {
				JSONObject PKIDObject=new JSONObject();
				PKIDObject.put("PKID", PKIDList.get(i));
				jsonData.put(PKIDObject);
			}
			
			inputInfo.put("jsonData", jsonData);
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName="wageYieldInputDelete" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}
	/**
	 * 根据三联单号（布票条码）带出数据
	 * @param handler
	 * @param barCode
	 */
	public static void getInput(Handler handler, int requestType,String barCode,String jobNum,String jobDate) {

		JSONObject inputInfo = new JSONObject();

		try {
			inputInfo.put("CLOTHTKTNO", barCode);
			inputInfo.put("JOB_NUM", jobNum);
			inputInfo.put("JOBDATE", jobDate);
		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName="wageYieldInput" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}
	
	
//	
//	 JSONArray array = new JSONArray();
//     for (int i = 0; i < 3; i++)
//     {
//         JSONObject value = new JSONObject();
//         value.put("", "");
//         value.put("", "");
//         array.put(value);
//     }
//     bodyVaule.put("", array);
	
	
	
	
	
	/**
	 * 保存/修改(工资产量录入)
	 * @param handler
	 * @param barCode
	 * @param userBean
	 * @param productList
	 */
	public static void saveInputlist(Handler handler,int requestType, String  userBean,List<ProductInputEntity> productList,String bmmc ) {

		JSONObject inputInfo = new JSONObject();

		try {
			JSONObject jsonObject=new JSONObject(userBean);
			inputInfo.put("userBean", jsonObject);
			
			Gson gson = new GsonBuilder().serializeNulls().create();  
	        String result = gson.toJson(productList);
	        JSONArray jsonArray=new JSONArray(result);
        
			inputInfo.put("jsonData", jsonArray);
			inputInfo.put("BMMC", bmmc);
			
		
		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName="wageYieldInputedit" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}
	
	
	
	

	/**
	 * 查询产量
	 * @param handler
	 * @param requestType
	 * @param jobDate 日期 格式为 yyyy-mm-dd
	 * @param machineNo 车号	
	 * @param jobNum 工号
	 * @param classes 班次
	 * @param standardQuota 标准定额
	 */
	public static void getQuerylist(Handler handler,int requestType,String  userBean, String  jobDate ,String bmmc,String machineNo,String jobNum,
			String classes,String standardQuota) {

		JSONObject inputInfo = new JSONObject();

		try {
			JSONObject jsonObject=new JSONObject(userBean);
			inputInfo.put("userBean", jsonObject);
			inputInfo.put("JOBDATE", jobDate);
			inputInfo.put("BMMC", bmmc);
			inputInfo.put("MACHINENO", machineNo);
			inputInfo.put("JOB_NUM", jobNum);
			inputInfo.put("CLASSES", classes);
			inputInfo.put("WBZDE", standardQuota);
			inputInfo.put("C_FLAG", "IPAD");
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName="wageYieldInputtoList" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}
	
	
	
	
	/**
	 * 
	 * 保存修改当天数据
	 * @param handler
	 * @param requestType
	 * @param userBean
	 * @param productList
	 */
	public static void updateQuerylist(Handler handler,int requestType, String  userBean,List<ProductQueryEntity> productList ){
		JSONObject inputInfo = new JSONObject();

		try {
			JSONObject jsonObject=new JSONObject(userBean);
			inputInfo.put("userBean", jsonObject);
			
			Gson gson = new GsonBuilder().serializeNulls().create();  
	        String result = gson.toJson(productList);
	        JSONArray jsonArray=new JSONArray(result);
			inputInfo.put("jsonData", jsonArray);
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		String methodName="updateBydatenum" ;
		
		IServiceImpl.callWebMethod(handler, requestType, inputInfo , methodName);
	}


	/**
	 * 查询日期
	 */
	public static void getDateTime(Handler handler,int requestType) {
		JSONObject inputInfo = new JSONObject();
		String methodName="getSysdate" ;

		IServiceImpl.callWebMethod(handler, requestType, "" , methodName);
	}
}
